package dao;

import java.security.spec.PSSParameterSpec;
import java.sql.SQLException;
import java.util.ArrayList;

import org.omg.CORBA.OMGVMCID;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;

import entities.Jugador;

public class Access {
	
	public ArrayList<Jugador> getJugadores(Connection con) 
	{		
		try
		{
			ArrayList<Jugador> jugadores = new ArrayList<Jugador>();
			PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("SELECT * FROM jugadores");
			ResultSet rs = (ResultSet) pstmt.executeQuery();
			while(rs.next())
			{
				Jugador jugadorObj = new Jugador();
				jugadorObj.setId(rs.getInt("id"));
				jugadorObj.setCoordenadaX(Float.parseFloat(rs.getString("CoordenadaX")));
				jugadorObj.setCoordenadaY(Float.parseFloat(rs.getString("CoordenadaY")));
				jugadores.add(jugadorObj);
			}
			
			rs.close();
			pstmt.close();
			return jugadores;	
		} catch (SQLException e)
		{		
			e.printStackTrace();
			return null;
		}
			
	}
	
	public Jugador getUltimaposicion(Connection con) 
	{		
		try
		{
			Jugador j = new Jugador();
			PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("select * from proyecto1.jugadores order by id desc limit 1 offset 0");
			ResultSet rs = (ResultSet) pstmt.executeQuery();
			while(rs.next())
			{
				j.setId(rs.getInt("id"));
				j.setCoordenadaX(Float.parseFloat(rs.getString("CoordenadaX")));
				j.setCoordenadaY(Float.parseFloat(rs.getString("CoordenadaY")));
			}
			
			rs.close();
			pstmt.close();
			return j;	
		} catch (SQLException e)
		{		
			e.printStackTrace();
			return null;
		}
			
	}
	
	public boolean agregarJugador(Connection con, float pCoordX, float pCoordY)
	{	
		try {
			
			PreparedStatement pstmt = (PreparedStatement) con.prepareStatement("INSERT INTO jugadores(CoordenadaX, CoordenadaY) VALUES (?,?)");
			pstmt.setFloat(1, pCoordX);
			pstmt.setFloat(2, pCoordY);
			pstmt.executeUpdate();
			pstmt.close();
			return true;
		
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		
	}
}
